Alteryx 2020.2新機能 : Intelligence SuiteにおけるText Miningで加速する自然言語処理
こんにちは、小澤です。
2020/6/3にAlteryxの最新バージョン2020.2がリリースされました。
今回は、Alteryx DesignerのアドオンであるIntelligence Suiteで利用可能になるText Miningカテゴリのツールを紹介します。
Text Miningカテゴリとその役割
Text MiningカテゴリのツールはAssisted Modelingとは異なり、それぞれが独立したツールとなっています。 その役割は大きく分けて、画像やPDFからテキストを取り出すためのツール群と自然言語処理を行うツール群という分類ができます。
画像やPDFから文字列を取得するためのツールは以下になります。
- PDF Input
- Image to Text
- Image Template
文字列を解析するためのツールは以下のものになります。
- Text Pre-processing
- Topic Modeling
- Sentiment Analysis
- Word Cloud
これらのツールの役割を順に紹介していきます。
PDF Input
PDF Inputツールはその名の通り、PDFファイルを読み込むためのツールです。
このツールでは、単体のPDFではなく、PDFファイルが保存してあるフォルダを指定します。 設定項目は対象となるフォルダのみです。 読み込んだ結果は以下のようにフォルダ内にあるすべてのファイルが読み込まれ、複数ページあるものに関してはそれぞれ別の行として表現されます。 この中から、Filterツールを使うなどして必要なものを取得します。
ファイルはAlteryx内部では画像のバイナリファイルとして読み込まれます。 これは、PDFファイルがテキスト以外にも画像やレイアウトに関する情報などを含むためです。 ファイル内で必要な部分のみを指定する場合は後述のImage TemplateツールImage to Textツールを組み合わせて利用します。
なお、今回読み込んだファイルは以下のものになります。
Image to Text
Image to Textツールは画像中に記載されたテキストを文字起こしするツールです。 一言で表すと、OCR機能を提供するツールということになります。 Image to Textツールを使うとBlob形式で読み込まれた画像中のテキストを取得できます(レポート用の画像ではBlob形式のものとなるのでご注意ください)。
先ほどのPDF Inputツールで読み込んだファイルは画像になっているので、そのままこのツールで利用可能です。 Inspire_2015_Tips_Tricks.pdfの2ページ目(目次ページ)をこの機能で文字起こしすると以下のような結果が得られます。
このツールの機能は、言語に依存するものとなるため、設定では対象となる列のほか、言語を指定する必要があります。
Image Template
Image Templateツールでは、PDFファイルから「どの部分を読み込むか」を指定します。 このツールで「Open PDF」を選択してPDFファイルを指定すると、以下のようにページごとの内容が表示されます。
対象範囲を指定し、その領域の名前と文字列として読み込むか画像として読み込むかを選択します。 また、この領域は複数指定可能です。
Image TemplateツールをImage to Textツールの「T」入力に指定すると、 以下のように指定した領域ごとに列に分割されてそれぞれ個別に読み込まれます。
なお、この例では読み込んだPDFファイルのうち単一のページのみに絞り込んでいますが、 同一テンプレートの複数ファイルやページをまとめて処理したい場合はフィルタせずにそのまま全件利用することで、 一括で処理を行えます。
Text Pre-processing
Text Pre-processingツールは、文字列に対する前処理を行うツールです。 このツールでは以下のような処理が可能です。
- 単語の変化形を原型に戻す
- 数字を取り除く
- 記号を取り除く
- ストップワードを取り除く
- ユーザ定義のストップワード指定
ストップワードとは、冠詞や接続詞など、どんな文章にも頻繁に登場する単語となります。 それ自体には特に意味はなかったり、登場回数が多すぎて異常値となりうるため、必要に応じて削除します。
これらそれぞれの設定が以下のようにチェックボックスで指定可能となっています。
また、変化形やストップワードとなる単語は言語に依存すため、ターゲットの言語も設定で指定します。 2020.2現在、日本語にはまだ対応していないようです。
上記のような設定で、処理を行うと以下のような結果になります。
Topic Modeling
Topic Modelingツールは文書集合を教師なしでいくつかのトピック(話題)に分類するためのツールです。 このツールでは、以下のように対象の列と分類するトピック数の指定を行います。
Output Optionsでは、各単語ごとの"どのトピックに紐づいていそうか"の情報をデータとして出すか、 グラフで出すかの選択が行えます。 Dictionaly Options, LDA Optionsでは単語の出現頻度による制約や内部で利用している手法のパラメータに関する設定を行います。
実行結果は以下のように指定したトピック数と同じ数だけ列が生成されれ、 文章が各トピックに所属する確率が出力されます。
データはProject Gutenbergにあるこちらを利用させていただきました。
「R」の方の出力では、以下のように各トピックごとの単語の分布を確認できます(図はInteractive Chartを選択したもの)。
なお、Topic Modelingでは設定に言語の選択はありません。 これは、内部で扱っている手法は各単語を単なる記号して扱ってその出現回数などのみを見ているためです。 そのため、この手法は言語による差異の影響は受けません。
ただし、文章を単語に分割するに際して、どのように分割するかという問題はあります。 英語などのようにスペースで区切る分かち書きをする文化のある言語であれば、それを分割の基準に利用できます。 一方日本語のように分かち書きをしない場合、そのままでは分割できません。 Topic Modelingツール自体はそのまま入力して利用可能ですが、あらかじめ分割して空白を入れておくなどする必要があります。
Alteryxを使って日本語文章を単語に分割する際には以下のツールなどをご利用ください。
Sentiment Analysis
Sentiment Analysisは文章の感情分析を行うツールです。 このツールを使うことで各文章がポジティブなのものなのか、ネガティブなものなのかを判定します。
感情分析は言語ごとの影響を大きく受けるものです。 そのため、言語に特化した仕組みが必要になるためか、現状では英語のみの対応となっています。
言語とアルゴリズムの選択は2020.2現在、1つだけなので実質設定項目は対象の列の選択のみとなります。 先ほどと同じデータを感情分析にかけた結果は以下のようになります。
negative, positiveのそれぞれのスコアが出力されます。 どちらでもない場合はneutralとなります。
Word Cloud
最後はWord Cloudツールです。 このツールは、一度はどこかで見たことがあるであろう"アレ"を出力します。
デザインに関する詳細な設定が可能ですが、文章のデータを接続するだけでもそのまま利用可能です。
おわりに
今回は、Alteryx 2020.2からアドオンとして加わったIntelligence Suiteに含まれるText Miningカテゴリのツールを紹介しました。
これまでAlteryxで扱うデータの多くはテーブルデータのみでしたが、非構造化データや半構造化データも扱えるようになってきてます。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。